Codebook and codebook search

ABSTRACT

Briefly, in accordance with one or more embodiments, a codebook used to provide a precoding matrix indicator and/or channel state information comprises one or more rank-1 codewords and at least one or more rank-2 codewords exhibiting a nesting property with the rank-1 codewords, and one or more rank-2 codewords not exhibiting a nesting property with the rank-1 codewords. Further, the rank-1 codewords may include at least some Discrete Fourier Transform (DFT) vectors, and at least some vectors that are optimized for a cross polarize array of antennas if the array of antennas is cross polarized. The codebook may be utilized for single-user multiple-input, multiple-output (SU-MIMO) or multi-user multiple-input, multiple-output (MU-MIMO).

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of U.S. Provisional Application No. 61/771,698 (Attorney Docket No. P54838Z) filed Mar. 1, 2013. Said Application No. 61/771,698 is hereby incorporated herein in its entirety.

BACKGROUND

Channel state information (CSI) is used to provide information about a transmission channel between a transmitting device and a receiving device. The CSI is fed back from the receiving device to the transmitting device so that the transmitting device may adjust its transmissions to account for the conditions of the channel. As part of this feedback, a precoding matrix indicator (PMI) from a codebook may be feedback so that the transmitter may apply a selected precoding matrix to its transmission to adjust to the channel. In general, as codebooks are enhanced for more advanced transmission techniques, the codebooks also may be reused to ensure compatibility with previous standards while modifying the codebooks for advanced transmission techniques. Furthermore, codeword searches may be optimized for the modified codebooks.

DESCRIPTION OF THE DRAWING FIGURES

Claimed subject matter is particularly pointed out and distinctly claimed in the concluding portion of the specification. However, such subject matter may be understood by reference to the following detailed description when read with the accompanying drawings in which:

FIG. 1 is a diagram of a wireless communication system capable of utilizing a codebook to feed back a precoding matrix indicator/channel state information in accordance with one or more embodiments;

FIG. 2 is a conceptual diagram of a codebook having nested codewords and non-nested codewords in accordance with one or more embodiments;

FIG. 3 is a conceptual diagram of a codebook having at least some vectors optimized for cross-polarized antennas in accordance with one or more embodiments;

FIG. 4 is a diagram of cross polarized antennas for which the codebook of FIG. 3 may be designed to optimize performance in accordance with one or more embodiments;

FIG. 5 is a flow diagram of a method to perform a codeword search for a single user multiple-input, multiple output (SU-MIMO) system in accordance with one or more embodiments;

FIG. 6 is a flow diagram of a method to perform a codeword search for a multi-user multiple-input, multiple output (MU-MIMO) system in accordance with one or more embodiments;

FIG. 7 is a block diagram of an information handling system capable of utilizing a codebook and/or performing a codebook search in accordance with one or more embodiments; and

FIG. 8 is an isometric view of an information handling system of FIG. 6 that optionally may include a touch screen in accordance with one or more embodiments.

It will be appreciated that for simplicity and/or clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, if considered appropriate, reference numerals have been repeated among the figures to indicate corresponding and/or analogous elements.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are set forth to provide a thorough understanding of claimed subject matter. However, it will be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components and/or circuits have not been described in detail.

In the following description and/or claims, the terms coupled and/or connected, along with their derivatives, may be used. In particular embodiments, connected may be used to indicate that two or more elements are in direct physical and/or electrical contact with each other. Coupled may mean that two or more elements are in direct physical and/or electrical contact. However, coupled may also mean that two or more elements may not be in direct contact with each other, but yet may still cooperate and/or interact with each other. For example, “coupled” may mean that two or more elements do not contact each other but are indirectly joined together via another element or intermediate elements. Finally, the terms “on,” “overlying,” and “over” may be used in the following description and claims. “On,” “overlying,” and “over” may be used to indicate that two or more elements are in direct physical contact with each other. However, “over” may also mean that two or more elements are not in direct contact with each other. For example, “over” may mean that one element is above another element but not contact each other and may have another element or elements in between the two elements. Furthermore, the term “and/or” may mean “and”, it may mean “or”, it may mean “exclusive-or”, it may mean “one”, it may mean “some, but not all”, it may mean “neither”, and/or it may mean “both”, although the scope of claimed subject matter is not limited in this respect. In the following description and/or claims, the terms “comprise” and “include,” along with their derivatives, may be used and are intended as synonyms for each other.

Referring now to FIG. 1, a diagram of a wireless communication system capable of utilizing a codebook to feed back a precoding matrix indicator/channel state information in accordance with one or more embodiments will be discussed. As shown in FIG. 1, wireless communication system 100 may comprise enhanced node B (eNB) 110 to communicate with user equipment (UE) 112 via channel 114. In some embodiments, eNB 110 may include one or more antennas 116 and UE 112 likewise may have one or more antennas 118 for example to implement multiple-input, multiple-output (MIMO) communications. Where there is a single UE 112, eNB 110 may communicate with UE 112 via single-user MIMO (SU-MIMO), and where there are more than one UEs 112, eNB 110 may communicate with the UEs 112 via multi-user MIMO (MU-MIMO). For purposes of example, a single UE 112 will be discussed herein, although the concepts also may apply to multiple UEs 112, and the scope of the claimed subject matter is not limited in this respect. In order to optimize throughput between the eNB 110 and UE 112, eNB 110 may transmit training, reference, or pilot signals to UE 112 via channel 114 so that UE 112 may calculate a precoding matrix indicator (PMI), channel state information (CSI) and/or a rank index (RI) as feedback 120 to eNB 110. As part of such feedback 120, rank-1 codeword (RANK-1) 122 and/or rank-2 codeword (RANK-2) 124, as selected from a codebook and as calculated by UE 112 as optimizing downlink transmission performance via channel 114, may be fed back to eNB 110 wherein the rank-1 codeword 122 and the rank-2 codeword 124 may be modified as discussed herein. Based at least in part on feedback 120 received from UE 112, eNB 110 may utilize a precoding matrix for downlink transmissions via channel 114 to one or more UEs 112. An example codebook with modified Rank-2 codewords is shown in and described with respect to FIG. 2, below.

Referring now to FIG. 2, a conceptual diagram of a codebook having nested codewords and non-nested codewords in accordance with one or more embodiments will be discussed. In one or more embodiments, codebook 200 may be utilized by UE 112 of FIG. 1 to provide feedback 120 to eNB 110 to optimize downlink channel transmissions. Codebook 200 of FIG. 2 has been modified to relax the nesting structure utilized by prior codebooks. For example, under the Third Generation Partnership Project (3GPP) Standard, the 4Tx codebook of Release 8 of the 3GPP standard utilizes a nesting structure wherein if the codebook has a rank-1 codeword vector, v, which is a 4×1 vector, the codebook must have at least one rank-2 codeword which is a 4×2 matrix and which contains the same rank-1 codeword as one of its columns. The same rule also applies to rank-3 and rank 4-codebooks, and so on. One of the main reason for using a nesting structure is reduced codeword search complexity. When UE 112 is searching for a higher rank codebook in order to perform rank adaptation, the search results of a lower rank codebook can be reused. From a performance point of view, however, the nesting property of the codebook may degrade the performance for reducing search complexity.

In accordance with one or more embodiments, codebook 200 may be designed to optimize performance in terms of throughput. In the 4Tx codebook of Release 8 of the 3GPP standard, the nesting structure is implemented by selecting the columns after Householder reflection. The higher rank codeword, which has more columns than the lower rank one, always uses the lower rank codeword as the first columns and then selects the remaining columns from the square matrix generated by Householder reflection with the first column of the lower rank codeword. In contrast, the design of codebook 200 of FIG. 2 optimizes throughput optimized codebook by relaxing this nesting property. As shown in FIG. 2, codebook 200 may include rank-1 codewords and rank-2 codewords 212. In the rank-2 codewords 212, a rank-2 codeword may have columns that are different from any rank-1 codeword. For example, the rank-2 codeword may include any two columns from the Householder matrix instead of always picking the first column of the Householder matrix as one of rank-2 codeword column. As a result, the rank-2 codewords 212 of codebook 200 may include some nested codewords 214 that exhibit the nesting property, and some non-nested codewords 216 that do not exhibit the nesting property. Table 1, below, illustrates an example of the 6-bit codebook for rank 1 and rank 2. The rank-1 vector may be the same as the rank-1 vector as described in Release 8 of the 3GPP standard. As a modified rank-2 codebook 200, column selection of rank 2 may be optimized for throughput performance, for example as determined via computer simulation. From an examination of the example codebook of Table 1, it can be seen that some codewords still maintain the nesting property whereas others do not.

TABLE 1 6-bit codebook of 4Tx antennas rank-1 and rank-2 Codebook Number of layers υ index u_(n) 1 2 0 u₀ = [1 −1 −1 −1]^(T) W₀ ⁽¹⁾   W₀ ⁽¹⁴⁾/{square root over (2)} 1 u₁ = [1 −j 1 j]^(T) W₁ ⁽¹⁾   W₁ ⁽¹²⁾/{square root over (2)} 2 u₂ = [1 1 −1 1]^(T) W₂ ⁽¹⁾   W₂ ⁽¹²⁾/{square root over (2)} 3 u₃ = [1 j 1 −j]^(T) W₃ ⁽¹⁾   W₃ ⁽¹²⁾/{square root over (2)} 4 u₄ = [1 (−1 − j)/{square root over (2)} −j (1 − j)/{square root over (2)}]^(T) W₄ ⁽¹⁾   W₄ ⁽¹⁴⁾/{square root over (2)} 5 u₅ = [1 (1 − j)/{square root over (2)} j (−1 − j)/{square root over (2)}]^(T) W₅ ⁽¹⁾   W₅ ⁽¹⁴⁾/{square root over (2)} 6 u₆ = [1 (1 + j)/{square root over (2)} −j (−1 + j)/{square root over (2)}]^(T) W₆ ⁽¹⁾   W₆ ⁽¹³⁾/{square root over (2)} 7 u₇ = [1 (−1 + j)/{square root over (2)} j (1 + j)/{square root over (2)}]^(T) W₇ ⁽¹⁾   W₇ ⁽¹³⁾/{square root over (2)} 8 u₈ = [1 −1 1 1]^(T) W₈ ⁽¹⁾   W₈ ⁽¹²⁾/{square root over (2)} 9 u₉ = [1 −j −1 −j]^(T) W₉ ⁽¹⁾   W₉ ⁽¹⁴⁾/{square root over (2)} 10 u₁₀ = [1 1 1 −1]^(T) W₁₀ ⁽¹⁾ W₁₀ ⁽¹³⁾/{square root over (2)} 11 u₁₁ = [1 j −1 j]^(T) W₁₁ ⁽¹⁾ W₁₁ ⁽¹³⁾/{square root over (2)} 12 u₁₂ = [1 −1 −1 1]^(T) W₁₂ ⁽¹⁾ W₁₂ ⁽¹²⁾/{square root over (2)} 13 u₁₃ = [1 −1 1 −1]^(T) W₁₃ ⁽¹⁾ W₁₃ ⁽¹³⁾/{square root over (2)} 14 u₁₄ = [1 1 −1 −1]^(T) W₁₄ ⁽¹⁾ W₁₄ ⁽¹³⁾/{square root over (2)} 15 u₁₅ = [1 1 1 1]^(T) W₁₅ ⁽¹⁾ W₁₅ ⁽¹²⁾/{square root over (2)} 16 u₁₆ = [1 −e^(j2π2/32) −e^(j4π2/32) −e^(j6π2/32)]^(T) W₁₆ ⁽¹⁾ W₁₆ ⁽²³⁾/{square root over (2)} 17 u₁₇ = [1 −e^(j2π10/32) −e^(j4π10/32) −e^(j6π10/32)]^(T) W₁₇ ⁽¹⁾ W₁₇ ⁽³⁴⁾/{square root over (2)} 18 u₁₈ = [1 −e^(j2π18/32) −e^(j4π18/32) −e^(j6π18/32)]^(T) W₁₈ ⁽¹⁾ W₁₈ ⁽¹³⁾/{square root over (2)} 19 u₁₉ = [1 −e^(j2π26/32) −e^(j4π26/32) −e^(j6π26/32)]^(T) W₁₉ ⁽¹⁾ W₁₉ ⁽³⁴⁾/{square root over (2)} 20 u₂₀ = [1 −e^(j2π6/32) −e^(j4π6/32) −e^(j6π6/32)]^(T) W₂₀ ⁽¹⁾ W₂₀ ⁽¹³⁾/{square root over (2)} 21 u₂₁ = [1 −e^(j2π14/32) −e^(j4π14/32) −e^(j6π14/32)]^(T) W₂₁ ⁽¹⁾ W₂₁ ⁽²⁴⁾/{square root over (2)} 22 u₂₂ = [1 −e^(j2π22/32) −e^(j4π22/32) −e^(j6π22/32)]^(T) W₂₂ ⁽¹⁾ W₂₂ ⁽¹²⁾/{square root over (2)} 23 u₂₃ = [1 −e^(j2π30/32) −e^(j4π30/32) −e^(j6π30/32)]^(T) W₂₃ ⁽¹⁾ W₂₃ ⁽¹⁴⁾/{square root over (2)} 24 u₂₄ = [1 −1 −j −j]^(T) W₂₄ ⁽¹⁾ W₂₄ ⁽²³⁾/{square root over (2)} 25 u₂₅ = [1 −j j −1]^(T) W₂₅ ⁽¹⁾ W₂₅ ⁽¹²⁾/{square root over (2)} 26 u₂₆ = [1 1 −j j]^(T) W₂₆ ⁽¹⁾ W₂₆ ⁽³⁴⁾/{square root over (2)} 27 u₂₇ = [1 j j 1]^(T) W₂₇ ⁽¹⁾ W₂₇ ⁽¹³⁾/{square root over (2)} 28 u₂₈ = [1 −1 j j]^(T) W₂₈ ⁽¹⁾ W₂₈ ⁽¹²⁾/{square root over (2)} 29 u₂₉ = [1 −j −j 1]^(T) W₂₉ ⁽¹⁾ W₂₉ ⁽¹³⁾/{square root over (2)} 30 u₃₀ = [1 1 j −j]^(T) W₃₀ ⁽¹⁾ W₃₀ ⁽¹²⁾/{square root over (2)} 31 u₃₁ = [1 j −j −1]^(T) W₃₁ ⁽¹⁾ W₃₁ ⁽¹⁴⁾/{square root over (2)} 32 u₃₂ = [1 −e^(j2π/32) −e^(j4π/32) −e^(j6π/32)]^(T) W₃₂ ⁽¹⁾ W₃₂ ⁽¹²⁾/{square root over (2)} 33 u₃₃ = [1 −e^(j2π9/32) −e^(j4π9/32) −e^(j6π9/32)]^(T) W₃₃ ⁽¹⁾ W₃₃ ⁽³⁴⁾/{square root over (2)} 34 u₃₄ = [1 −e^(j2π17/32) −e^(j4π17/32) −e^(j6π17/32)]^(T) W₃₄ ⁽¹⁾ W₃₄ ⁽¹⁴⁾/{square root over (2)} 35 u₃₅ = [1 −e^(j2π25/32) −e^(j4π25/32) −e^(j6π25/32)]^(T) W₃₅ ⁽¹⁾ W₃₅ ⁽¹³⁾/{square root over (2)} 36 u₃₆ = [1 −e^(j2π5/32) −e^(j4π5/32) −e^(j6π5/32)]^(T) W₃₆ ⁽¹⁾ W₃₆ ⁽¹²⁾/{square root over (2)} 37 u₃₇ = [1 −e^(j2π13/32) −e^(j4π13/32) −e^(j6π13/32)]^(T) W₃₇ ⁽¹⁾ W₃₇ ⁽³⁴⁾/{square root over (2)} 38 u₃₈ = [1 −e^(j2π21/32) −e^(j4π21/32) −e^(j6π21/32)]^(T) W₃₈ ⁽¹⁾ W₃₈ ⁽³⁴⁾/{square root over (2)} 39 u₃₉ = [1 −e^(j2π29/32) −e^(j4π28/32) −e^(j6π29/32)]^(T) W₃₉ ⁽¹⁾ W₃₉ ⁽¹⁴⁾/{square root over (2)} 40 u₄₀ = [1 −e^(j2π3/32) −e^(j4π3/32) −e^(j6π3/32)]^(T) W₄₀ ⁽¹⁾ W₄₀ ⁽¹³⁾/{square root over (2)} 41 u₄₁ = [1 −e^(j2π11/32) −e^(j4π11/32) −e^(j6π11/32)]^(T) W₄₁ ⁽¹⁾ W₄₁ ⁽²³⁾/{square root over (2)} 42 u₄₂ = [1 −e^(j2π19/32) −e^(j4π19/32) −e^(j6π19/32)]^(T) W₄₂ ⁽¹⁾ W₄₂ ⁽²⁴⁾/{square root over (2)} 43 u₄₃ = [1 −e^(j2π27/32) −e^(j4π27/32) −e^(j6π27/32)]^(T) W₄₃ ⁽¹⁾ W₄₃ ⁽²⁴⁾/{square root over (2)} 44 u₄₄ = [1 −e^(j2π7/32) −e^(j4π7/32) −e^(j6π7/32)]^(T) W₄₄ ⁽¹⁾ W₄₄ ⁽¹²⁾/{square root over (2)} 45 u₄₅ = [1 −e^(j2π15/32) −e^(j4π15/32) −e^(j6π15/32)]^(T) W₄₅ ⁽¹⁾ W₄₅ ⁽¹³⁾/{square root over (2)} 46 u₄₆ = [1 −e^(j2π23/32) −e^(j4π23/32) −e^(j6π23/32)]^(T) W₄₆ ⁽¹⁾ W₄₆ ⁽¹²⁾/{square root over (2)} 47 u₄₇ = [1 −e^(j2π31/32) −e^(j4π31/32) −e^(j6π31/32)]^(T) W₄₇ ⁽¹⁾ W₄₇ ⁽¹²⁾/{square root over (2)} 48 u₄₈ = [1 (−1 − j)/{square root over (2)} j (−1 + j)/{square root over (2)}]^(T) W₄₈ ⁽¹⁾ W₄₈ ⁽³⁴⁾/{square root over (2)} 49 u₄₉ = [1 (1 − j)/{square root over (2)} −j (1 + j)/{square root over (2)}]^(T) W₄₉ ⁽¹⁾ W₄₉ ⁽¹³⁾/{square root over (2)} 50 u₅₀ = [1 (1 + j)/{square root over (2)} j (1 − j)/{square root over (2)}]^(T) W₅₀ ⁽¹⁾ W₅₀ ⁽²³⁾/{square root over (2)} 51 u₅₁ = [1 (−1 + j)/{square root over (2)} −j (−1 − j)/{square root over (2)}]^(T) W₅₁ ⁽¹⁾ W₅₁ ⁽¹²⁾/{square root over (2)} 52 u₅₂ = [1 (−1 − j)/{square root over (2)} −1 (−1 − j)/{square root over (2)}]^(T) W₅₂ ⁽¹⁾ W₅₂ ⁽¹²⁾/{square root over (2)} 53 u₅₃ = [1 (−1 − j)/{square root over (2)} 1 (−1 + j)/{square root over (2)}]^(T) W₅₃ ⁽¹⁾ W₅₃ ⁽¹³⁾/{square root over (2)} 54 u₅₄ = [1 (1 + j)/{square root over (2)} −1 (1 + j)/{square root over (2)}]^(T) W₅₄ ⁽¹⁾ W₅₄ ⁽¹²⁾/{square root over (2)} 55 u₅₅ = [1 (−1 + j)/{square root over (2)} 1 (1 − j)/{square root over (2)}]^(T) W₅₅ ⁽¹⁾ W₅₅ ⁽¹⁴⁾/{square root over (2)} 56 u₅₆ = [1 (−1 − j)/{square root over (2)} 1 (1 + j)/{square root over (2)}]^(T) W₅₆ ⁽¹⁾ W₅₆ ⁽²³⁾/{square root over (2)} 57 u₅₇ = [1 (−1 − j)/{square root over (2)} −1 (1 − j)/{square root over (2)}]^(T) W₅₇ ⁽¹⁾ W₅₇ ⁽²³⁾/{square root over (2)} 58 u₅₈ = [1 (1 + j)/{square root over (2)} 1 (−1 − j)/{square root over (2)}]^(T) W₅₈ ⁽¹⁾ W₅₈ ⁽²³⁾/{square root over (2)} 59 u₅₉ = [1 (−1 + j)/{square root over (2)} −1 (−1 + j)/{square root over (2)}]^(T) W₅₉ ⁽¹⁾ W₅₉ ⁽¹⁴⁾/{square root over (2)} 60 u₆₀ = [2 0 0 0]^(T) W₆₀ ⁽¹⁾ W₆₀ ⁽¹²⁾/{square root over (2)} 61 u₆₁ = [0 2 0 0]^(T) W₆₁ ⁽²⁾ W₆₁ ⁽¹²⁾/{square root over (2)} 62 u₆₂ = [0 0 2 0]^(T) W₆₂ ⁽³⁾ W₆₂ ⁽¹³⁾/{square root over (2)} 63 u₆₃ = [0 0 0 2]^(T) W₆₃ ⁽⁴⁾ W₆₃ ⁽²³⁾/{square root over (2)}

It should be noted that in the above example codebook of Table 1, the rank-1 vectors reuse all of the 32 4Tx Discrete Fourier Transform (DFT) vectors as defined in Release 10 of the 3GPP standard for an 8Tx codebook. It should be noted that DFT vectors may be used for both a uniform linear array (ULA) of antennas and cross polarized antennas, but when DFT vectors are used for cross polarized antennas, there is a limitation that the phase difference between the two antennas having the same position but different polarization directions has to be twice as much as the phase difference between two antennas of the same polarization direction. A modified rank-1 codebook for addressing such cross polarization is shown in and described with respect to FIG. 3, below.

Referring now to FIG. 3, a conceptual diagram of a codebook having at least some vectors optimized for cross-polarized antennas in accordance with one or more embodiments will be discussed. Codebook 200 of FIG. 3 may be substantially similar to the codebook 200 of FIG. 2 optionally having at least some rank-2 codewords that are non-nested, with the modification that at least some of the rank-1 codewords may include one or more Discrete Fourier Transform (DFT) vectors 218 and at last some of the rank-1 codewords may include one or more vector optimized for cross polarization (X-POL) 220 if the antennas are cross polarized. An example of cross polarization of antennas is shown in and described with respect to FIG. 4, below. In one example embodiment, one modification of the rank-1 codewords 210 may be where half of the DFT vectors 218 may be utilized, and the remaining half of the DFT vectors may be replaced with non-DFT vectors 220 specifically optimized for cross polarized antennas. An example of such a codebook using DFT vectors 218 and non-DFT vectors 220 is shown in Table 2, below.

TABLE 2 6-bit codebook of 4Tx antennas Rank-1 and Rank-2 Codebook Number of layers υ index u_(s) 1 2 0 u₀ = [1 −1 −1 −1]^(T) W₀ ⁽¹⁾   W₀ ⁽¹⁴⁾/{square root over (2)} 1 u₁ = [1 −j 1 j]^(T) W₁ ⁽¹⁾   W₁ ⁽¹²⁾/{square root over (2)} 2 u₂ = [1 1 −1 1]^(T) W₂ ⁽¹⁾   W₂ ⁽¹²⁾/{square root over (2)} 3 u₃ = [1 j 1 −j]^(T) W₃ ⁽¹⁾   W₃ ⁽¹²⁾/{square root over (2)} 4 u₄ = [1 (−1 − j)/{square root over (2)} −j (1 − j)/{square root over (2)}]^(T) W₄ ⁽¹⁾   W₄ ⁽¹⁴⁾/{square root over (2)} 5 u₅ = [1 (1 − j)/{square root over (2)} j (−1 − j)/{square root over (2)}]^(T) W₅ ⁽¹⁾   W₅ ⁽¹⁴⁾/{square root over (2)} 6 u₆ = [1 (1 + j)/{square root over (2)} −j (−1 + j)/{square root over (2)}]^(T) W₆ ⁽¹⁾   W₆ ⁽¹³⁾/{square root over (2)} 7 u₇ = [1 (−1 + j)/{square root over (2)} j (1 + j)/{square root over (2)}]^(T) W₇ ⁽¹⁾   W₇ ⁽¹³⁾/{square root over (2)} 8 u₈ = [1 −1 1 1]^(T) W₈ ⁽¹⁾   W₈ ⁽¹²⁾/{square root over (2)} 9 u₉ = [1 −j −1 −j]^(T) W₉ ⁽¹⁾   W₉ ⁽¹⁴⁾/{square root over (2)} 10 u₁₀ = [1 1 1 −1]^(T) W₁₀ ⁽¹⁾ W₁₀ ⁽¹³⁾/{square root over (2)} 11 u₁₁ = [1 j −1 j]^(T) W₁₁ ⁽¹⁾ W₁₁ ⁽¹³⁾/{square root over (2)} 12 u₁₂ = [1 −1 −1 1]^(T) W₁₂ ⁽¹⁾ W₁₂ ⁽¹²⁾/{square root over (2)} 13 u₁₃ = [1 −1 1 −1]^(T) W₁₃ ⁽¹⁾ W₁₃ ⁽¹³⁾/{square root over (2)} 14 u₁₄ = [1 1 −1 −1]^(T) W₁₄ ⁽¹⁾ W₁₄ ⁽¹³⁾/{square root over (2)} 15 u₁₅ = [1 1 1 1]^(T) W₁₅ ⁽¹⁾ W₁₅ ⁽¹²⁾/{square root over (2)} 16 u₁₆ = [1 −e^(j2π2/32) −e^(j4π2/32) −e^(j6π2/32)]^(T) W₁₆ ⁽¹⁾ W₁₆ ⁽²³⁾/{square root over (2)} 17 u₁₇ = [1 −e^(j2π10/32) −e^(j4π10/32) −e^(j6π10/32)]^(T) W₁₇ ⁽¹⁾ W₁₇ ⁽³⁴⁾/{square root over (2)} 18 u₁₈ = [1 −e^(j2π18/32) −e^(j4π18/32) −e^(j6π18/32)]^(T) W₁₈ ⁽¹⁾ W₁₈ ⁽¹³⁾/{square root over (2)} 19 u₁₉ = [1 −e^(j2π26/32) −e^(j4π26/32) −e^(j6π26/32)]^(T) W₁₉ ⁽¹⁾ W₁₉ ⁽³⁴⁾/{square root over (2)} 20 u₂₀ = [1 −e^(j2π6/32) −e^(j4π6/32) −e^(j6π6/32)]^(T) W₂₀ ⁽¹⁾ W₂₀ ⁽¹³⁾/{square root over (2)} 21 u₂₁ = [1 −e^(j2π14/32) −e^(j4π14/32) −e^(j6π14/32)]^(T) W₂₁ ⁽¹⁾ W₂₁ ⁽²⁴⁾/{square root over (2)} 22 u₂₂ = [1 −e^(j2π22/32) −e^(j4π22/32) −e^(j6π22/32)]^(T) W₂₂ ⁽¹⁾ W₂₂ ⁽¹²⁾/{square root over (2)} 23 u₂₃ = [1 −e^(j2π30/32) −e^(j4π30/32) −e^(j6π30/32)]^(T) W₂₃ ⁽¹⁾ W₂₃ ⁽¹⁴⁾/{square root over (2)} 24 u₂₄ = [1 −1 −j −j]^(T) W₂₄ ⁽¹⁾ W₂₄ ⁽²³⁾/{square root over (2)} 25 u₂₅ = [1 −j j −1]^(T) W₂₅ ⁽¹⁾ W₂₅ ⁽¹²⁾/{square root over (2)} 26 u₂₆ = [1 1 −j j]^(T) W₂₆ ⁽¹⁾ W₂₆ ⁽³⁴⁾/{square root over (2)} 27 u₂₇ = [1 j j 1]^(T) W₂₇ ⁽¹⁾ W₂₇ ⁽¹³⁾/{square root over (2)} 28 u₂₈ = [1 −1 j j]^(T) W₂₈ ⁽¹⁾ W₂₈ ⁽¹²⁾/{square root over (2)} 29 u₂₉ = [1 −j −j 1]^(T) W₂₉ ⁽¹⁾ W₂₉ ⁽¹³⁾/{square root over (2)} 30 u₃₀ = [1 1 j −j]^(T) W₃₀ ⁽¹⁾ W₃₀ ⁽¹²⁾/{square root over (2)} 31 u₃₁ = [1 j −j −1]^(T) W₃₁ ⁽¹⁾ W₃₁ ⁽¹⁴⁾/{square root over (2)} 32 u₃₂ = [1 −e^(j2π2/32) −e^(j40π/32) −e^(j44π/32)]^(T) W₃₂ ⁽¹⁾ W₃₂ ⁽¹²⁾/{square root over (2)} 33 u₃₃ = [1 −e^(j2π10/32) −e^(j8π/32) −e^(j28π/32)]^(T) W₃₃ ⁽¹⁾ W₃₃ ⁽³⁴⁾/{square root over (2)} 34 u₃₄ = [1 −e^(j2π18/32) −e^(j40π/32) −e^(j12π/32)]^(T) W₃₄ ⁽¹⁾ W₃₄ ⁽¹⁴⁾/{square root over (2)} 35 u₃₅ = [1 −e^(j2π26/32) −e^(j8π/32) −e^(j50π/32)]^(T) W₃₅ ⁽¹⁾ W₃₅ ⁽¹³⁾/{square root over (2)} 36 u₃₆ = [1 −e^(j2π2/32) −e^(j24π/32) −e^(j28π/32)]^(T) W₃₆ ⁽¹⁾ W₃₆ ⁽¹²⁾/{square root over (2)} 37 u₃₇ = [1 −e^(j2π10/32) −e^(j56π/32) −e^(j12π/32)]^(T) W₃₇ ⁽¹⁾ W₃₇ ⁽³⁴⁾/{square root over (2)} 38 u₃₈ = [1 −e^(j2π18/32) −e^(j24π21/32) −e^(j60π/32)]^(T) W₃₈ ⁽¹⁾ W₃₈ ⁽³⁴⁾/{square root over (2)} 39 u₃₉ = [1 −e^(j2π26/32) −e^(j56π/32) −e^(j44π/32)]^(T) W₃₉ ⁽¹⁾ W₃₉ ⁽¹⁴⁾/{square root over (2)} 40 u₄₀ = [1 −e^(j2π2/32) −e^(j56π/32) −e^(j60π/32)]^(T) W₄₀ ⁽¹⁾ W₄₀ ⁽¹³⁾/{square root over (2)} 41 u₄₁ = [1 −e^(j2π10/32) −e^(j24π/32) −e^(j44π/32)]^(T) W₄₁ ⁽¹⁾ W₄₁ ⁽²³⁾/{square root over (2)} 42 u₄₂ = [1 −e^(j2π18/32) −e^(j56π/32) −e^(j28π/32)]^(T) W₄₂ ⁽¹⁾ W₄₂ ⁽²⁴⁾/{square root over (2)} 43 u₄₃ = [1 −e^(j2π36/32) −e^(j24π/32) −e^(j12π/32)]^(T) W₄₃ ⁽¹⁾ W₄₃ ⁽²⁴⁾/{square root over (2)} 44 u₄₄ = [1 −e^(j2π6/32) −e^(j56π/32) −e^(j4π/32)]^(T) W₄₄ ⁽¹⁾ W₄₄ ⁽¹²⁾/{square root over (2)} 45 u₄₅ = [1 −e^(j2π14/32) −e^(j24π/32) −e^(j52π/32)]^(T) W₄₅ ⁽¹⁾ W₄₅ ⁽¹³⁾/{square root over (2)} 46 u₄₆ = [1 −e^(j2π22/32) −e^(j56π/32) −e^(j56π/32)]^(T) W₄₆ ⁽¹⁾ W₄₆ ⁽¹²⁾/{square root over (2)} 47 u₄₇ = [1 −e^(j2π30/32) −e^(j24π/32) −e^(j20π/32)]^(T) W₄₇ ⁽¹⁾ W₄₇ ⁽¹²⁾/{square root over (2)} 48 u₄₈ = [1 (−1 − j)/{square root over (2)} j (−1 + j)/{square root over (2)}]^(T) W₄₈ ⁽¹⁾ W₄₈ ⁽³⁴⁾/{square root over (2)} 49 u₄₉ = [1 (1 − j)/{square root over (2)} −j (1 + j)/{square root over (2)}]^(T) W₄₉ ⁽¹⁾ W₄₉ ⁽¹³⁾/{square root over (2)} 50 u₅₀ = [1 (1 + j)/{square root over (2)} j (1 − j)/{square root over (2)}]^(T) W₅₀ ⁽¹⁾ W₅₀ ⁽²³⁾/{square root over (2)} 51 u₅₁ = [1 (−1 + j)/{square root over (2)} −j (−1 − j)/{square root over (2)}]^(T) W₅₁ ⁽¹⁾ W₅₁ ⁽¹²⁾/{square root over (2)} 52 u₅₂ = [1 (−1 − j)/{square root over (2)} −1 (−1 − j)/{square root over (2)}]^(T) W₅₂ ⁽¹⁾ W₅₂ ⁽¹²⁾/{square root over (2)} 53 u₅₃ = [1 (−1 − j)/{square root over (2)} 1 (−1 + j)/{square root over (2)}]^(T) W₅₃ ⁽¹⁾ W₅₃ ⁽¹³⁾/{square root over (2)} 54 u₅₄ = [1 (1 + j)/{square root over (2)} −1 (1 + j)/{square root over (2)}]^(T) W₅₄ ⁽¹⁾ W₅₄ ⁽¹²⁾/{square root over (2)} 55 u₅₅ = [1 (−1 + j)/{square root over (2)} 1 (1 − j)/{square root over (2)}]^(T) W₅₅ ⁽¹⁾ W₅₅ ⁽¹⁴⁾/{square root over (2)} 56 u₅₆ = [1 (−1 − j)/{square root over (2)} 1 (1 + j)/{square root over (2)}]^(T) W₅₆ ⁽¹⁾ W₅₆ ⁽²³⁾/{square root over (2)} 57 u₅₇ = [1 (−1 − j)/{square root over (2)} −1 (1 − j)/{square root over (2)}]^(T) W₅₇ ⁽¹⁾ W₅₇ ⁽²³⁾/{square root over (2)} 58 u₅₈ = [1 (1 + j)/{square root over (2)} 1 (−1 − j)/{square root over (2)}]^(T) W₅₈ ⁽¹⁾ W₅₈ ⁽²³⁾/{square root over (2)} 59 u₅₉ = [1 (−1 + j)/{square root over (2)} −1 (−1 + j)/{square root over (2)}]^(T) W₅₉ ⁽¹⁾ W₅₉ ⁽¹⁴⁾/{square root over (2)} 60 u₆₀ = [2 0 0 0]^(T) W₆₀ ⁽¹⁾ W₆₀ ⁽¹²⁾/{square root over (2)} 61 u₆₁ = [0 2 0 0]^(T) W₆₁ ⁽²⁾ W₆₁ ⁽¹²⁾/{square root over (2)} 62 u₆₂ = [0 0 2 0]^(T) W₆₂ ⁽³⁾ W₆₂ ⁽¹³⁾/{square root over (2)} 63 u₆₃ = [0 0 0 2]^(T) W₆₃ ⁽⁴⁾ W₆₃ ⁽²³⁾/{square root over (2)}

Referring now to FIG. 4, a diagram of cross polarized antennas for which the codebook of FIG. 3 may be designed to optimize performance in accordance with one or more embodiments will be discussed. An example cross polarized (X-Pol) antenna array 400 is shown in FIG. 4 having two pairs of antennas, antenna 410, antenna 412, antenna 414 and antenna 416, with the same spacing but the two pairs have different antenna polarizations. The different polarizations make the phase difference between the corresponding elements of the two pairs randomly distributed between 0 and 360 degrees wherein α, β˜[0, 2π]. Since a Discrete Fourier Transform (DFT) based codebook is utilized in Release 8 and Release 10 of the Third Generation Partnership Project (3GPP) standard, in one or more embodiments codebook 200 of FIG. 3 may be optimized for cross polarization of the antennas while maintaining the backward compatibility as much as possible. For the vector codebook, the 4×1 codebook, the DFT vector has three properties. The magnitude of each entry is the same, the phase difference between any two adjacent entries remains the same for each vector; and the phase of each entry is picked from a finite alphabet:

$\left\{ {i\frac{2\; \pi}{32}} \right\} \begin{matrix} 32 \\ {i = 1} \end{matrix}$

The constant magnitude is for lowering the peak to average power ratio of the power amplifier. The constant phase difference is suitable for uniform linear arrays, which have evenly spaced antenna elements. However, the constant phase difference may not fit the cross polarized antenna array 400.

In one or more embodiments, the codebook design may be optimized for cross polarized antenna array 400 as a likely deployment scenario. Taking into account the phase structure of cross polarized antenna array 400, we have the codebook structure may be created as discussed, below, while maintaining the backward compatibility as much as possible for the 3GPP standard in addition to addressing performance for cross polarized antenna array 400. Examples of suitable codewords for such a codebook 200 having at least some Rank-1 DFT vectors 218 and at least some Rank-1 vectors optimized for cross polarization 220 are shown by the W_(n) ^({k}) terms in Table 1 and/or Table 2, above.

In general, one example process for design of such a codebook may be as follows:

1. The constant magnitude (or constant modulus) property of the legacy codebook is kept for backward compatibility and low PAPR.

2. The 4×1 codeword is of a structure (e^(j0) e^(jα) e^(jβ) e^(jβ+α)), where α is for quantizing the phase difference between the two co-pol antennas and β is for quantizing the phase difference between the two pairs of the cross polarized antennas 400.

3. The α and β are selected from a finite alphabet, for example,

$\left\{ {i\frac{2\; \pi}{32}} \right\} \begin{matrix} 32 \\ {i = 1.} \end{matrix}$

4. Although the α and β of the input channel vector are independently, randomly distributed over [0, 360 degrees], the α and β of the quantization codebook can be jointly designed. For example, letting β=2α results into a codeword structure of (e^(j0) e^(jα) e^(j2α) e^(j3α)). This codeword structure may be suitable for a uniform linear array (ULA) of antennas, which also may be a useful deployment scenario in one or more embodiments. For covering the 2π range of β, one more structure may be needed, for example (e^(j0) e^(jα) e^(j2α+nδ) e^(j3αn+δ)), where δ e.g.,

$\delta = \frac{\pi}{2}$

is in the finite alphabet e.g.,

$\left\{ {i\frac{2\; \pi}{32}} \right\} \begin{matrix} 32 \\ {i = 1} \end{matrix}$

and n is an integer taking values from 0, 1, . . . , N such that Nδ≦2π e.g., N=4. In other words, the stepping through of the α and β over [0, 360 degrees] may be synchronized in constructing the quantization codewords such that codewords of (e^(j0) e^(jα) e^(j2α) e^(j3α)) structure may be generated without scarifying the quantization performance of cross polarized antennas 400 and help the quantization performance of a uniform linear array (ULA) of antennas antenna as an additional benefit. It should be noted, however, that this is merely one example of a structure of a codebook 200 capable of accommodating cross polarized antennas 400 while also maintaining backwards compatibility with a legacy 3GPP codebook, and the scope of the claimed subject matter is not limited in this respect.

Referring now to FIG. 5, a flow diagram of a method to perform a codeword search for a single user multiple-input, multiple-output (SU-MIMO) system in accordance with one or more embodiments will be discussed. It should be noted that although FIG. 5 illustrates one particular embodiment of method 500, alternative embodiments of method 500 may be realized for example where method 500 includes more or fewer blocks than shown, and/or in various other orders, and the scope of the claimed subject matter is not limited in these respects. In one or more embodiments, UE 112 may optimize a codeword search method if UE 112 has knowledge of the scheduling preference of eNB 110. If UE 112 is only configured with one channel state information (CSI) reporting process, eNB 110 needs a minimum of one bit for broadcasting a signaling to indicate its scheduling preference. In Release 10 of the Third Generation Partnership Project (3GPP) standard, it has been standardized that UE 112 may be configured with two CSI reporting processes. In such an arrangement, eNB 110 may configure one CSI process for single user multiple-input, multiple-output (SU-MIMO) CSI and the other CSI process for multi-user multiple-input, multiple-output (MU-MIMO) CSI. Since one CSI process may be dedicated to MU-MIMO, in accordance with one or more embodiments, a codeword search process may be further optimized by leveraging both the rank-1 and rank-2 codebooks.

For a CSI search method for SU-MIMO as shown in FIG. 5, UE 112 may perform a CSI search at block 510 to find a best precoding matrix indicator (PMI) for each of rank-1 and rank-2. The PMI search algorithm for a given rank may be described by the following equation:

$i_{r} = \underset{v_{i} \in C_{r}}{\arg \; {\max \left( {{capacity}\left( {v_{i},H,C} \right)} \right)}}$

where C_(r) is the codebook of rank, r, H is the measured channel matrix of one subcarrier, i_(r) is the best PMI for rank, r, and C is the interference covariance matrix. After UE 112 determines the best PMI for each rank at block 510, at block 512 UE 112 may select the best rank, rank-1 or rank-2, using the following equation:

$r_{best} = \underset{1 \leq rr_{\max}}{\arg \; {\max \left( {{capacity}\left( {v_{i_{r}},H,C} \right)} \right)}}$

At block 514, UE 112 reports the better or best rank and the best PMI/CQI for the better or best rank accordingly. By utilizing method 500 of FIG. 5, the capacity for SU-MIMO may be maximized or nearly maximized, although the scope of the claimed subject matter is not limited in this respect.

Referring now to FIG. 6, a flow diagram of a method to perform a codeword search for a multi-user multiple-input, multiple-output (MU-MIMO) system in accordance with one or more embodiments will be discussed. It should be noted that although FIG. 6 illustrates one particular embodiment of method 600, alternative embodiments of method 600 may be realized for example where method 600 includes more or fewer blocks than shown, and/or in various other orders, and the scope of the claimed subject matter is not limited in these respects. At block 610, UE 112 may perform a CSI search to find a better or best rank for rank-1 and rank-2 using each column of each codeword as a rank-1 precoder in the following equation:

$\left( {l_{r},i_{r}} \right) = \underset{{v_{i} \in C_{r}},{1 \leq l \leq r}}{\arg \; {\max \left( {{trace}\left( {{{rv}_{i}\left( {:{,l}} \right)}^{H}{{Rv}_{i}\left( {:{,l}} \right)}} \right)} \right)}}$

where C_(r) is the codebook of rank r, R is the channel covariance matrix of one subcarrier or one band, and i_(r) is the best PMI for rank r. After UE 112 determines a better or best PMI for rank-1 and rank-2, UE 112 determines the better or best rank at block 612 using the following equation:

$r_{best} = \underset{{r = 1},2}{\arg \; {\max \left( {{trace}\left( {{{rv}_{i_{r}}\left( {:{,l}} \right)}^{H}{{Rv}_{i_{r}}\left( {:{,l_{r}}} \right)}} \right)} \right)}}$

At block 614 UE 112 then reports the better or best rank and the best PMI/CQI for the better or best rank accordingly. The algorithm of method 600 may minimize the quantization error of the principal Eigen beam. It should be noted that it also may be possible to apply the better or best rank search equation of block 510 of FIG. 5 to search for the best rank-1 vector for MU-MIMO instead of using the equations of block 610 and 612 of method 600, although performance may be suboptimal. Since the nesting property of the codebooks of Release 8 and Release 10 of the Third Generation Partnership Project (3GPP) standard reduces the codeword and/or rank search complexity with a tradeoff of performance, the nesting property optionally may be removed. Since the first column of each rank-2 codeword does not need to be the same as its corresponding rank-1 codeword, there are more rank-1 vectors available in rank-1 and rank-2 codebooks overall than before so that the quantization error of rank-1 input may be reduced. Therefore, in order to maximize the channel capacity using the MU-MIMO optimized search method 600 of FIG. 6, the nesting constraint optionally need not be imposed on the newly added 48 codewords in Table 1 and/or Table 2 as discussed, above, although the scope of the claimed subject matter is not limited in this respect.

Referring now to FIG. 7, a block diagram of an information handling system capable of utilizing a codebook and/or performing a codebook search in accordance with one or more embodiments will be discussed. Information handling system 700 of FIG. 7 may tangibly embody any one or more of the elements described herein, above, including for example eNB 110 and/or UE 112, with greater or fewer components depending on the hardware specifications of the particular device. Although information handling system 700 represents one example of several types of computing platforms, information handling system 700 may include more or fewer elements and/or different arrangements of elements than shown in FIG. 7, and the scope of the claimed subject matter is not limited in these respects.

In one or more embodiments, information handling system 700 may include an application processor 710 and a baseband processor 712. Application processor 710 may be utilized as a general-purpose processor to run applications and the various subsystems for information handling system 700. Application processor 710 may include a single core or alternatively may include multiple processing cores wherein one or more of the cores may comprise a digital signal processor or digital signal processing (DSP) core. Furthermore, application processor 710 may include a graphics processor or coprocessor disposed on the same chip, or alternatively a graphics processor coupled to application processor 710 may comprise a separate, discrete graphics chip. Application processor 710 may include on board memory such as cache memory, and further may be coupled to external memory devices such as synchronous dynamic random access memory (SDRAM) 714 for storing and/or executing applications during operation, and NAND flash 716 for storing applications and/or data even when information handling system 700 is powered off. In one or more embodiments, instructions to operate or configure the information handling system 700 and/or any of its components or subsystems to operate in a manner as described herein may be stored on a article of manufacture comprising a non-transitory storage medium. In one or more embodiments, the storage medium may comprise any of the memory devices shown in and described herein, although the scope of the claimed subject matter is not limited in this respect. Baseband processor 712 may control the broadband radio functions for information handling system 700. Baseband processor 712 may store code for controlling such broadband radio functions in a NOR flash 718. Baseband processor 712 controls a wireless wide area network (WWAN) transceiver 720 which is used for modulating and/or demodulating broadband network signals, for example for communicating via a 3GPP LTE or LTE-Advanced network or the like.

In general, WWAN transceiver 720 may operate according to any one or more of the following radio communication technologies and/or standards including but not limited to: a Global System for Mobile Communications (GSM) radio communication technology, a General Packet Radio Service (GPRS) radio communication technology, an Enhanced Data Rates for GSM Evolution (EDGE) radio communication technology, and/or a Third Generation Partnership Project (3GPP) radio communication technology, for example Universal Mobile Telecommunications System (UMTS), Freedom of Multimedia Access (FOMA), 3GPP Long Term Evolution (LTE), 3GPP Long Term Evolution Advanced (LTE Advanced), Code division multiple access 2000 (CDMA2000), Cellular Digital Packet Data (CDPD), Mobitex, Third Generation (3G), Circuit Switched Data (CSD), High-Speed Circuit-Switched Data (HSCSD), Universal Mobile Telecommunications System (Third Generation) (UMTS (3G)), Wideband Code Division Multiple Access (Universal Mobile Telecommunications System) (W-CDMA (UMTS)), High Speed Packet Access (HSPA), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), High Speed Packet Access Plus (HSPA+), Universal Mobile Telecommunications System-Time-Division Duplex (UMTS-TDD), Time Division-Code Division Multiple Access (TD-CDMA), Time Division-Synchronous Code Division Multiple Access (TD-CDMA), 3rd Generation Partnership Project Release 8 (Pre-4th Generation) (3GPP Rel. 8 (Pre-4G)), UMTS Terrestrial Radio Access (UTRA), Evolved UMTS Terrestrial Radio Access (E-UTRA), Long Term Evolution Advanced (4th Generation) (LTE Advanced (4G)), cdmaOne (2G), Code division multiple access 2000 (Third generation) (CDMA2000 (3G)), Evolution-Data Optimized or Evolution-Data Only (EV-DO), Advanced Mobile Phone System (1st Generation) (AMPS (1G)), Total Access Communication System/Extended Total Access Communication System (TACS/ETACS), Digital AMPS (2nd Generation) (D-AMPS (2G)), Push-to-talk (PTT), Mobile Telephone System (MTS), Improved Mobile Telephone System (IMTS), Advanced Mobile Telephone System (AMTS), OLT (Norwegian for Offentlig Landmobil Telefoni, Public Land Mobile Telephony), MTD (Swedish abbreviation for Mobiltelefonisystem D, or Mobile telephony system D), Public Automated Land Mobile (Autotel/PALM), ARP (Finnish for Autoradiopuhelin, “car radio phone”), NMT (Nordic Mobile Telephony), High capacity version of NTT (Nippon Telegraph and Telephone) (Hicap), Cellular Digital Packet Data (CDPD), Mobitex, DataTAC, Integrated Digital Enhanced Network (iDEN), Personal Digital Cellular (PDC), Circuit Switched Data (CSD), Personal Handy-phone System (PHS), Wideband Integrated Digital Enhanced Network (WiDEN), iBurst, Unlicensed Mobile Access (UMA), also referred to as also referred to as 3GPP Generic Access Network, or GAN standard), Zigbee, Bluetooth®, and/or general telemetry transceivers, and in general any type of RF circuit or RFI sensitive circuit. It should be noted that such standards may evolve over time, and/or new standards may be promulgated, and the scope of the claimed subject matter is not limited in this respect.

The WWAN transceiver 720 couples to one or more power amps 722 respectively coupled to one or more antennas 724 for sending and receiving radio-frequency signals via the WWAN broadband network. The baseband processor 712 also may control a wireless local area network (WLAN) transceiver 726 coupled to one or more suitable antennas 728 and which may be capable of communicating via a Wi-Fi, Bluetooth®, and/or an amplitude modulation (AM) or frequency modulation (FM) radio standard including an IEEE 802.11a/b/g/n standard or the like. It should be noted that these are merely example implementations for application processor 710 and baseband processor 712, and the scope of the claimed subject matter is not limited in these respects. For example, any one or more of SDRAM 814, NAND flash 716 and/or NOR flash 718 may comprise other types of memory technology such as magnetic memory, chalcogenide memory, phase change memory, or ovonic memory, and the scope of the claimed subject matter is not limited in this respect.

In one or more embodiments, application processor 710 may drive a display 730 for displaying various information or data, and may further receive touch input from a user via a touch screen 732 for example via a finger or a stylus. An ambient light sensor 734 may be utilized to detect an amount of ambient light in which information handling system 700 is operating, for example to control a brightness or contrast value for display 730 as a function of the intensity of ambient light detected by ambient light sensor 734. One or more cameras 736 may be utilized to capture images that are processed by application processor 710 and/or at least temporarily stored in NAND flash 716. Furthermore, application processor may couple to a gyroscope 738, accelerometer 740, magnetometer 742, audio coder/decoder (CODEC) 744, and/or global positioning system (GPS) controller 746 coupled to an appropriate GPS antenna 748, for detection of various environmental properties including location, movement, and/or orientation of information handling system 700. Alternatively, controller 746 may comprise a Global Navigation Satellite System (GNSS) controller. Audio CODEC 744 may be coupled to one or more audio ports 750 to provide microphone input and speaker outputs either via internal devices and/or via external devices coupled to information handling system via the audio ports 750, for example via a headphone and microphone jack. In addition, application processor 710 may couple to one or more input/output (I/O) transceivers 752 to couple to one or more I/O ports 754 such as a universal serial bus (USB) port, a high-definition multimedia interface (HDMI) port, a serial port, and so on. Furthermore, one or more of the I/O transceivers 752 may couple to one or more memory slots 756 for optional removable memory such as secure digital (SD) card or a subscriber identity module (SIM) card, although the scope of the claimed subject matter is not limited in these respects.

Referring now to FIG. 8, an isometric view of an information handling system of FIG. 7 that optionally may include a touch screen in accordance with one or more embodiments will be discussed. FIG. 8 shows an example implementation of information handling system 700 of FIG. 7 tangibly embodied as a cellular telephone, smartphone, or tablet type device or the like. The information handling system 700 may comprise a housing 810 having a display 830 which may include a touch screen 832 for receiving tactile input control and commands via a finger 816 of a user and/or a via stylus 818 to control one or more application processors 710. The housing 810 may house one or more components of information handling system 700, for example one or more application processors 710, one or more of SDRAM 714, NAND flash 716, NOR flash 718, baseband processor 712, and/or WWAN transceiver 720. The information handling system 700 further may optionally include a physical actuator area 820 which may comprise a keyboard or buttons for controlling information handling system via one or more buttons or switches. The information handling system 700 may also include a memory port or slot 756 for receiving non-volatile memory such as flash memory, for example in the form of a secure digital (SD) card or a subscriber identity module (SIM) card. Optionally, the information handling system 700 may further include one or more speakers and/or microphones 824 and a connection port 754 for connecting the information handling system 700 to another electronic device, dock, display, battery charger, and so on. In addition, information handling system 700 may include a headphone or speaker jack 828 and one or more cameras 736 on one or more sides of the housing 810. It should be noted that the information handling system 700 of FIG. 8 may include more or fewer elements than shown, in various arrangements, and the scope of the claimed subject matter is not limited in this respect.

Although the claimed subject matter has been described with a certain degree of particularity, it should be recognized that elements thereof may be altered by persons skilled in the art without departing from the spirit and/or scope of claimed subject matter. It is believed that the subject matter pertaining to cooperative multiple beam transmission and/or many of its attendant utilities will be understood by the forgoing description, and it will be apparent that various changes may be made in the form, construction and/or arrangement of the components thereof without departing from the scope and/or spirit of the claimed subject matter or without sacrificing all of its material advantages, the form herein before described being merely an explanatory embodiment thereof, and/or further without providing substantial change thereto. It is the intention of the claims to encompass and/or include such changes. 

What is claimed is:
 1. A user equipment (UE), comprising: a wireless transceiver having an array of one or more antennas; and a processor coupled to the wireless transceiver and a memory coupled to the processor, the memory having a codebook stored therein, wherein the codebook comprises: one or more rank-1 codewords; at least one or more rank-2 codewords exhibiting a nesting property with the rank-1 codewords; and one or more rank-2 codewords not exhibiting a nesting property with the rank-1 codewords.
 2. A user equipment as claimed in claim 1, wherein the rank-1 codewords include at least some Discrete Fourier Transform (DFT) vectors, and at least some vectors that are optimized for the array of antennas if the array of antennas is cross polarized.
 3. A user equipment as claimed in claim 1, wherein the processor is configured to perform a search of the codebook for single-user multiple-input, multiple-output (SU-MIMO) by: performing a channel state information (CSI) search to find a best precoding matrix indicator (PMI) for the rank-1 codewords and the rank-2 codewords to maximize channel capacity; selecting a better rank; and reporting the better rank and the best PMI and CQI for the better rank.
 4. A user equipment as claimed in claim 1, wherein the processor is configured to perform a search of the codebook for multi-user multiple-input, multiple-output (MU-MIMO) by: performing a channel state information (CSI) search to find a best precoding matrix indicator (PMI) for the rank-1 codewords and the rank-2 codewords using each column of each codeword as a rank-1 precoder; selecting a better rank; and reporting the better rank and the best PMI and CQI for the better rank to an enhanced Node B.
 5. A user equipment as claimed in claim 1, further comprising a touch screen to receive a touch input to control the processor.
 6. A user equipment (UE), comprising: a wireless transceiver having an array of one or more antennas; and a processor coupled to the wireless transceiver and a memory coupled to the processor, the memory having a codebook stored therein, wherein the codebook comprises: one or more rank-1 codewords; and one or more rank-2 codewords; wherein the rank-1 codewords include at least some Discrete Fourier Transform (DFT) vectors, and at least some vectors that are optimized for the array of antennas if the array of antennas is cross polarized.
 7. A user equipment as claimed in claim 6, wherein at least one or more rank-2 codewords exhibit a nesting property with the rank-1 codewords; and one or more rank-2 codewords do not exhibit a nesting property with the rank-1 codewords.
 8. A user equipment as claimed in claim 6, wherein the processor is configured to perform a search of the codebook for single-user multiple-input, multiple-output (SU-MIMO) by: performing a channel state information (CSI) search to find a best precoding matrix indicator (PMI) for the rank-1 codewords and the rank-2 codewords to maximize channel capacity; selecting a better rank; and reporting the better rank and the best PMI and CQI for the better rank.
 9. A user equipment as claimed in claim 6, wherein the processor is configured to perform a search of the codebook for multi-user multiple-input, multiple-output (MU-MIMO) by: performing a channel state information (CSI) search to find a best precoding matrix indicator (PMI) for the rank-1 codewords and the rank-2 codewords using each column of each codeword as a rank-1 precoder; selecting a better rank; and reporting the better rank and the best PMI and CQI for the better rank to an enhanced Node B.
 10. A user equipment as claimed in claim 6, further comprising a touch screen to receive a touch input to control the processor.
 11. A method to perform a codebook search, comprising: performing a channel state information (CSI) search to find a best precoding matrix indicator (PMI) for rank-1 codewords and rank-2 codewords of the codebook; selecting a better rank; and reporting the better rank and the best PMI and CQI for the better rank.
 12. A method as claimed in claim 11, wherein said performing is implemented for single-user multiple-input, multiple-output (SU-MIMO).
 13. A method as claimed in claim 11, wherein said performing is implemented for multi-user multiple-input, multiple-output (MU-MIMO) by using each column of each codeword as a rank-1 precoder.
 14. A method as claimed in claim 11, wherein the codebook comprises: one or more rank-1 codewords; at least one or more rank-2 codewords exhibiting a nesting property with the rank-1 codewords; and one or more rank-2 codewords not exhibiting a nesting property with the rank-1 codewords.
 15. A method as claimed in claim 11, wherein the rank-1 codewords include at least some Discrete Fourier Transform (DFT) vectors, and at least some vectors that are optimized for the array of antennas if the array of antennas is cross polarized.
 16. An article of manufacture comprising a non-transitory medium having instructions thereon that, if executed, result in: performing a channel state information (CSI) search to find a best precoding matrix indicator (PMI) for rank-1 codewords and rank-2 codewords of the codebook; selecting a better rank; and reporting the better rank and the best PMI and CQI for the better rank.
 17. An article as claimed in claim 16, wherein said performing is implemented for single-user multiple-input, multiple-output (SU-MIMO).
 18. An article as claimed in claim 16, wherein said performing is implemented for multi-user multiple-input, multiple-output (MU-MIMO) by using each column of each codeword as a rank-1 precoder.
 19. An article as claimed in claim 16, wherein the codebook comprises: one or more rank-1 codewords; at least one or more rank-2 codewords exhibiting a nesting property with the rank-1 codewords; and one or more rank-2 codewords not exhibiting a nesting property with the rank-1 codewords.
 20. An article as claimed in claim 16, wherein the rank-1 codewords include at least some Discrete Fourier Transform (DFT) vectors, and at least some vectors that are optimized for the array of antennas if the array of antennas is cross polarized. 